Skip to content

Mac SongDetailView design parity with iOS#204

Merged
dprodger merged 2 commits into
mainfrom
control-padding-token-202
May 29, 2026
Merged

Mac SongDetailView design parity with iOS#204
dprodger merged 2 commits into
mainfrom
control-padding-token-202

Conversation

@dprodger

Copy link
Copy Markdown
Owner

dprodger and others added 2 commits May 29, 2026 10:21
Button keeps its 14pt vertical padding but via a new
ApproachNoteTheme.controlVerticalPadding token, semantically distinct
from the spacing scale (sizes the control's tap target, not rhythm).
ToastView snaps to spacingMD (16) since its padding is card breathing
room rather than a tap target. Documented both in doc/design/layout.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Rename "MORE RECORDINGS" heading to "ALL RECORDINGS" (title3, matching iOS)
- Style Filter/Sort controls like iOS (bold labels, outlined boxes); move
  the Sort box decoration onto the outer Menu so .borderlessButton doesn't
  strip it, and hide the system menu indicator
- Step "Playable only?" / "Performance Type" headings down to callout
- Replace the system segmented Performance Type picker with the iOS
  brand-outlined pill so selection uses the brand color, not the system
  accent; cap its width on Mac so it doesn't span the whole window
- Make decade shelves collapsible accordions (+/- toggle, collapsed by
  default), wrapped in a zero-spacing stack so headers center between dividers
- Remove the canonical gold star from recording shelves and RecordingDetailView
  on both iOS and Mac
- Step the Learn More link buttons (Wikipedia/JazzStandards/MusicBrainz) down
  one type step to callout via a new optional font override on ApproachNoteButton

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@dprodger dprodger merged commit 285dbbf into main May 29, 2026
1 check passed
dprodger added a commit that referenced this pull request May 29, 2026
Value-preserving spacing-token sweep across apps/Mac, mirroring the iOS
#199 transform (only `spacing:` and `.padding(...)` numeric args): on-scale
4/8/12/16/20/24 renamed to spacing* tokens, off-scale content gaps snapped
(2->spacingXXS, 6->spacingXS, 10->spacingXS). Decorative/component insets
(badge .padding(6/2), PageDots vertical 6) and large page-level values are
left as literals.

Now that #202 and #204 have landed, this covers all Mac views including
SongDetailView, RecordingCard, and RecordingDetailView (previously deferred
to avoid a merge collision with that work).

Also reconcile PerformerDetailView with SongDetailView: align section
spacing to spacingMD and hide the duplicate macOS sort-menu disclosure
chevron.

Closes #201.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant